package com.lq.learningTest.duoxiancheng;

public class end {
    private static boolean flag = true;

    public static void main(String[] args) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                while (flag) {
                    System.out.println("正在运行");//如果这里这个while循环是空的，就是空转，则线程会陷入死循环
                    //但是如果thread的while中有代码逻辑，则就有可能把flag值读写入主存中，从而结束循环，这里可能等不止2秒
                    //如果flag设置为volatile,则会强制使得线程读取主存中的flag值，从而更新flag值结束循环，这里会等2秒
                }
            }
        }).start();
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        System.out.println("结束运行");
        flag = false;
    }
}
